Array.Copy()是 C# 中用來複製一個陣列的內容到另一個陣列中的方法。這個方法可以用來複製整個陣列或部分陣列,並且可以指定從源陣列和目標陣列的哪個索引位置開始複製。
Array.Copy() 方法有多個重載,最常見的重載形式如下:
public static void Copy(Array sourceArray, Array destinationArray, int length);
public static void Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);
using System;
class Program
{
static void Main()
{
// 定義源數組
int[] sourceArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// 定義目標數組,大小為 10
int[] destinationArray = new int[10];
// 將 sourceArray 的第 3 到第 7 個元素(4, 5, 6, 7, 8)複製到 destinationArray 的索引 5 開始的位置
Array.Copy(sourceArray, 3, destinationArray, 5, 5);
// 打印目標數組
Console.WriteLine("Destination Array:");
foreach (int item in destinationArray)
{
Console.Write(item + " "); // Output: 0 0 0 0 0 4 5 6 7 8
}
}
}
在這個例子中:
在 C# 中,List 是一種通用的集合類型,用來儲存一組同類型的對象。相較於陣列,List 的大小是可變的,可以根據需要動態增加或移除元素。
以下是一些關於 C# List 的基本介紹:
using System;
using System.Collections.Generic; // 使用 List 需要這個命名空間
class Program
{
static void Main()
{
// 1. 宣告並初始化 List
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 }; // 一個包含 5 個整數的 List
// 2. 存取和修改 List 元素
int firstNumber = numbers[0]; // 取得 List 中的第一個元素
numbers[1] = 10; // 將 List 中的第二個元素設為 10
// 3. 遍歷 List
// 使用 for 迴圈
for (int i = 0; i < numbers.Count; i++)
{
Console.WriteLine("For loop: " + numbers[i]);
}
// 使用 foreach 迴圈
foreach (int number in numbers)
{
Console.WriteLine("Foreach loop: " + number);
}
// 4. 添加和刪除元素
numbers.Add(6); // 在 List 末尾添加一個元素
numbers.Remove(3); // 移除 List 中第一個出現的值為 3 的元素
numbers.Insert(2, 99); // 在索引 2 的位置插入 99
// 5. List.Sort()
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 3 }; // 宣告並初始化 List
unsortedNumbers.Sort(); // 使用 Sort() 方法對 List 進行排序
// 輸出排序後的 List
Console.WriteLine("排序後:");
foreach (int number in unsortedNumbers)
{
Console.Write(number + " ");
}
Console.WriteLine();
// 6. List.Reverse()
numbers.Reverse(); // 使用 Reverse() 方法將 List 元素順序反轉
// 輸出反轉後的 List
Console.WriteLine("反轉後:");
foreach (int number in numbers)
{
Console.Write(number + " ");
}
Console.WriteLine();
// 7. 檢查元素是否存在
bool containsThree = numbers.Contains(3); // 檢查 List 是否包含 3
Console.WriteLine("List contains 3: " + containsThree);
// 8. 取得元素索引
int indexOfTen = numbers.IndexOf(10); // 取得值為 10 的元素索引
Console.WriteLine("Index of 10: " + indexOfTen);
// 9. 清空 List
numbers.Clear(); // 使用 Clear() 方法清空 List
// 確認 List 是否清空
Console.WriteLine("List count after clear: " + numbers.Count); // Output: 0
}
}